GET和POST,在我們日常WEB開發中,是最常用的資料傳輸方式。
在HTML FROM表單中,可以通過設定method指定提交方式為GET或者POST方式,預設為GET提交方式。
HTTP定義了與伺服器互動的不同方法,其中最基本的四種:GET,POST,PUT,DELETE,HEAD;
GET和POST我們比較常用,其它幾種實際應用比較少用到,在此僅作了解。
以下是範例:
<form action="http://1235.com method=get"> (OR post)
帳號<input type ="text" name="username">
密碼<input type ="text" name="password">
<button type="submit">資料送出</button>
</form>
GET請求的資料會附加在URL之後,意思就是會顯示在網址上面
post請求會把請求的資料放置在HTTP請求包的包體中,資料會放在form data中
GET方式傳輸的資料最多是1024位元組
因為GET是通過URL提交資料,那麼GET可提交的資料量就跟URL的長度有直接關係,URL本身不存在引數上限的問題,HTTP協議規範也沒有對URL長度進行限制。
這個限制是特定的瀏覽器及伺服器對它的限制。
IE對URL長度的限制是2083位元組(2K 35)。
對於其他瀏覽器,如Netscape、FireFox等,理論上沒有長度限制,其限制取決於作業系統的支援。
注意:限制是針對整個URL長度,不單是傳輸的資料長度。
POST方式理論上沒有限制,可傳較大的資料;
其限制作用的是伺服器的處理程式的處理能力;
Apache, Nigx, IIS伺服器自身可配置限制傳輸大小。
GET傳輸的資料會直接暴露在URL中,如果我們在做使用者登入時,需要傳輸登入帳號及密碼到後端做驗證,如果用GET方式,那麼賬戶密碼直接暴露在URL裡面,是非常危險的。
而且瀏覽器快取的機制,訪問過的網站URL會被儲存在瀏覽器歷史記錄裡,其他人可通過歷史記錄檢視訪問網站URL,直接獲取到傳輸的資料。
post隨然也有安全性的問題,但是他就像有信封的信件一樣,外面還有一層信紙,不像get跟明信片一樣,一覽無遺~
參考資料:
https://codertw.com/%E5%89%8D%E7%AB%AF%E9%96%8B%E7%99%BC/24848/
finally 到了鐵人賽的第15天,堅持一件事情15天很酷,尤其是自己從未做過的事情。
我也為其他鐵人賽的人加油!你們好厲害~
明天開始我會寫css的相關內容,因為html在深的內容我已經寫不出來了,寫出來也不理解哈哈哈(疑?)